package com.rabbiter.si.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ImportResult implements Serializable {
    private static final long serialVersionUID = 1L;

    private int addedCount = 0;       // 新增记录数
    private int updatedCount = 0;     // 更新记录数
    private List<String> errors = new ArrayList<>();  // 错误信息列表

    /**
     * 添加错误信息
     * @param error 错误描述
     */
    public void addError(String error) {
        this.errors.add(error);
    }

    /**
     * 新增记录数加1
     */
    public void incrementAdded() {
        this.addedCount++;
    }

    /**
     * 更新记录数加1
     */
    public void incrementUpdated() {
        this.updatedCount++;
    }


    /**
     * 判断导入是否完全成功
     * @return true-完全成功，false-部分失败
     */
    public boolean isFullySuccessful() {
        return errors.isEmpty();
    }
}